Loading [MathJax]/jax/output/CommonHTML/jax.js

Kernel Functions (Linear, Polynomial, RBF)

Machine Learning - সাইকিট-লার্ন (Scikit-Learn) Support Vector Machine (SVM) |
161
161

কোনো মেশিন লার্নিং মডেলে Kernel Functions ব্যবহার করা হয় মূলত সাপোর্ট ভেক্টর মেশিন (SVM) বা অন্যান্য কের্নেল বেসড অ্যালগরিদমের মাধ্যমে ডেটাকে উচ্চ মাত্রায় ম্যাপ করতে। কের্নেল ফাংশন মডেলকে ডেটার অপ্রত্যক্ষ বৈশিষ্ট্য (features) বা গঠন সম্পর্কে শিখতে সহায়ক হয়, বিশেষ করে যখন ডেটা লিনিয়ারলি সেপারেবল নয়, অর্থাৎ একটি রেখা বা সোজা প্লেন দিয়ে শ্রেণীভুক্ত করা যায় না।

Kernel Functions এর ভূমিকা

Kernel functions ব্যবহার করা হয় যাতে মডেলটি ডেটাকে একটি উচ্চমাত্রার স্পেসে ম্যাপ করতে পারে, যেখানে ডেটা লিনিয়ারভাবে পৃথক করা সম্ভব। এটি একটি kernel trick হিসেবে পরিচিত, যেখানে কম্পিউটেশনের জটিলতা বাড়ানো ছাড়াই উচ্চমাত্রায় ডেটাকে স্থানান্তর করা হয়।


১. Linear Kernel (লিনিয়ার কের্নেল)

Linear Kernel হলো সবচেয়ে সাধারণ এবং সহজ কের্নেল। এটি দুটি ইনপুট ভেক্টরের মধ্যে ডট প্রোডাক্ট ব্যবহার করে। এই কের্নেলটি তখন ব্যবহার করা হয় যখন ডেটা পূর্বেই লিনিয়ারলি সেপারেবল (linearly separable) থাকে, অর্থাৎ আপনি সহজেই একটি রেখা বা প্লেন দিয়ে ডেটাকে বিভক্ত করতে পারেন।

ফর্মুলা:

K(x,y)=xTy

এখানে, x এবং y দুটি ইনপুট ভেক্টর।

ব্যবহার:

  • যখন ডেটা সরাসরি সোজা রেখা বা প্লেনের মাধ্যমে ভাগ করা যায়।
  • এটি মডেলের জন্য কম্পিউটেশনালভাবে দ্রুত এবং সহজ।

উদাহরণ:

  • SVM তে Linear Kernel ব্যবহার করা হয় যখন ডেটা লিনিয়ার ক্লাসিফিকেশনের জন্য উপযুক্ত হয়।

২. Polynomial Kernel (পলিনোমিয়াল কের্নেল)

Polynomial Kernel মডেলকে ডেটাকে একটি উচ্চ মাত্রার পলিনোমিয়াল স্পেসে ম্যাপ করতে সাহায্য করে। এটি ইনপুট ভেক্টরের ডট প্রোডাক্টের পলিনোমিয়ালকে গুণ করে, যা ডেটার মধ্যে লুকানো সম্পর্কগুলি ধরতে সহায়ক।

ফর্মুলা:

K(x,y)=(xTy+c)d

এখানে:

  • c হলো একটি কনস্ট্যান্ট,
  • d হলো পলিনোমিয়ালের ডিগ্রী।

ব্যবহার:

  • যখন ডেটা লিনিয়ার নয় তবে একটি পলিনোমিয়াল বৈশিষ্ট্যের সাথে বিভক্ত করা যায়।
  • এটি আরও জটিল শ্রেণীবিন্যাসের সমস্যার জন্য কার্যকরী, যেখানে ডেটা একটি সোজা রেখা দ্বারা বিভক্ত হতে পারে না।

উদাহরণ:

  • SVM এর মধ্যে Polynomial Kernel ব্যবহার করা হয় যখন ডেটাতে উচ্চমাত্রার সম্পর্ক থাকে যা সোজা রেখায় বিভক্ত করা যায় না।

৩. RBF Kernel (Radial Basis Function Kernel)

RBF Kernel, বা Gaussian Kernel, একটি জনপ্রিয় এবং শক্তিশালী কের্নেল যা একটি পয়েন্টের উপর ভিত্তি করে তার সাপেক্ষে ইনফিনিট ডাইমেনশনাল স্পেসে ডেটাকে ম্যাপ করে। এটি ডেটাকে একটি বৃত্তাকার বা গাউসিয়ান ফাংশনের ভিত্তিতে উচ্চ মাত্রায় ম্যাপ করতে পারে এবং সেজন্য ডেটার মধ্যে খুব সূক্ষ্ম প্যাটার্ন শনাক্ত করতে সক্ষম।

ফর্মুলা:

K(x,y)=exp(xy22σ2)

এখানে, xy2 হলো দুটি ইনপুটের মধ্যে ইউক্লিডিয়ান দূরত্ব এবং σ হলো কনস্ট্যান্ট (রেঞ্জ প্রভাবিত করে)।

ব্যবহার:

  • Non-linear data যেখানে ডেটার মধ্যে সূক্ষ্ম সম্পর্ক থাকতে পারে এবং একটি সোজা রেখা বা প্লেন দ্বারা বিভক্ত করা সম্ভব নয়।
  • এটি সবচেয়ে জনপ্রিয় কের্নেল যেখানে ডেটা একে অপরের থেকে খুব আলাদা হতে পারে বা ক্লাস্টারিং করা থাকতে পারে।

উদাহরণ:

  • SVM এর মধ্যে RBF Kernel ব্যবহার করা হয় যখন ডেটার মধ্যে গভীর সম্পর্ক থাকে এবং সোজা রেখা বা পলিনোমিয়াল দ্বারা বিভক্ত করা সম্ভব নয়।

Kernel Functions এর তুলনা

কের্নেল টাইপফাংশনকিভাবে ব্যবহৃত হয়
Linear KernelK(x,y)=xTyডেটা লিনিয়ার সেপারেবল হলে ব্যবহার।
Polynomial KernelK(x,y)=(xTy+c)dডেটাতে পলিনোমিয়াল সম্পর্ক থাকলে।
RBF KernelK(x,y)=exp(xy2/2σ2)ডেটা নন-লিনিয়ার, সূক্ষ্ম সম্পর্ক হলে।

সারাংশ

  • Linear Kernel ব্যবহার করা হয় যখন ডেটা লিনিয়ার সেপারেবল (linearly separable) হয়।
  • Polynomial Kernel ব্যবহার করা হয় যখন ডেটা লিনিয়ার নয়, তবে পলিনোমিয়াল বৈশিষ্ট্য থাকতে পারে।
  • RBF Kernel সবচেয়ে শক্তিশালী কের্নেল, যা নন-লিনিয়ার ডেটা সম্পর্ক এবং সূক্ষ্ম বৈশিষ্ট্যগুলি চিহ্নিত করতে সক্ষম।

Kernel functions SVM এবং অন্যান্য কের্নেল-বেসড মডেলগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি মডেলকে বেশি নমনীয় এবং জটিল ডেটা সম্পর্ক বুঝতে সক্ষম করে।

Content added By
Promotion